Add API for some sealed widget flags
authorMichael Natterer <mitch@gimp.org>
Tue, 14 Jul 2009 00:12:40 +0000 (02:12 +0200)
committerMichael Natterer <mitch@gimp.org>
Tue, 14 Jul 2009 00:12:40 +0000 (02:12 +0200)
- gtk_widget_has_focus() for GTK_WIDGET_HAS_FOCUS()
- gtk_widget_get_sensitive() for GTK_WIDGET_SENSITIVE()
- gtk_widget_is_sensitive() for GTK_WIDGET_IS_SENSITIVE()

gtk/gtk.symbols
gtk/gtkwidget.c
gtk/gtkwidget.h

index aa0e34f8b1b9f806c015b80beab1a56d04291014..6e5ccc3d4b32dcb2c16b21454b41778717390ce3 100644 (file)
@@ -4978,6 +4978,7 @@ gtk_widget_get_parent_window
 gtk_widget_get_pointer
 gtk_widget_get_root_window
 gtk_widget_get_screen
+gtk_widget_get_sensitive
 gtk_widget_get_settings
 gtk_widget_get_size_request
 gtk_widget_get_snapshot
@@ -4990,6 +4991,7 @@ gtk_widget_get_type G_GNUC_CONST
 gtk_widget_get_visual
 gtk_widget_grab_default
 gtk_widget_grab_focus
+gtk_widget_has_focus
 gtk_widget_has_screen
 gtk_widget_hide
 gtk_widget_hide_all
@@ -4997,6 +4999,7 @@ gtk_widget_hide_on_delete
 gtk_widget_intersect
 gtk_widget_is_ancestor
 gtk_widget_is_focus
+gtk_widget_is_sensitive
 gtk_widget_keynav_failed
 gtk_widget_list_accel_closures
 gtk_widget_list_mnemonic_labels
index e263660eb24c35646fd9192aa61363fb110d2143..56edc71f0578e8da2bb27725820091daa37fed8d 100644 (file)
@@ -5258,6 +5258,26 @@ gtk_widget_real_keynav_failed (GtkWidget        *widget,
   return TRUE;
 }
 
+/**
+ * gtk_widget_has_focus:
+ * @widget: a #GtkWidget
+ *
+ * Determines if the widget has the global input focus. See
+ * gtk_widget_is_focus() for the difference between having the global
+ * input focus, and only having the focus within a toplevel.
+ *
+ * Return value: %TRUE if the widget has the global input focus.
+ *
+ * Since: 2.18
+ **/
+gboolean
+gtk_widget_has_focus (GtkWidget *widget)
+{
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  return GTK_WIDGET_HAS_FOCUS (widget);
+}
+
 /**
  * gtk_widget_is_focus:
  * @widget: a #GtkWidget
@@ -5566,6 +5586,42 @@ gtk_widget_set_sensitive (GtkWidget *widget,
   g_object_notify (G_OBJECT (widget), "sensitive");
 }
 
+/**
+ * gtk_widget_get_sensitive:
+ * @widget: a #GtkWidget
+ *
+ * Returns: %TRUE if the widget is sensitive (in the sense of returning
+ * the value that has been set using gtk_widget_set_sensitive()). The
+ * effective sensitivity of a widget is however determined by both its
+ * own and its parent widget's sensitivity. See gtk_widget_is_sensitive().
+ *
+ * Since: 2.18
+ **/
+gboolean
+gtk_widget_get_sensitive (GtkWidget *widget)
+{
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  return GTK_WIDGET_SENSITIVE (widget);
+}
+
+/**
+ * gtk_widget_is_sensitive:
+ * @widget: a #GtkWidget
+ *
+ * Returns: %TRUE if the widget is effectively sensitive, which means
+ * it is sensitive itself and also its parent widget is sensntive
+ *
+ * Since: 2.18
+ **/
+gboolean
+gtk_widget_is_sensitive (GtkWidget *widget)
+{
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  return GTK_WIDGET_IS_SENSITIVE (widget);
+}
+
 /**
  * gtk_widget_set_parent:
  * @widget: a #GtkWidget
index 2d89fb0e29b6bcdd763c3b72a383d68ad7622082..af091be024d464e91b4aabd16f6ed7ac4cce5cd8 100644 (file)
@@ -548,6 +548,7 @@ void        gtk_widget_child_notify           (GtkWidget           *widget,
                                           const gchar         *child_property);
 void   gtk_widget_thaw_child_notify      (GtkWidget           *widget);
 
+gboolean   gtk_widget_has_focus           (GtkWidget           *widget);
 gboolean   gtk_widget_is_focus            (GtkWidget           *widget);
 void      gtk_widget_grab_focus          (GtkWidget           *widget);
 void      gtk_widget_grab_default        (GtkWidget           *widget);
@@ -557,8 +558,12 @@ void                  gtk_widget_set_name               (GtkWidget    *widget,
 G_CONST_RETURN gchar* gtk_widget_get_name               (GtkWidget    *widget);
 void                  gtk_widget_set_state              (GtkWidget    *widget,
                                                         GtkStateType  state);
+
 void                  gtk_widget_set_sensitive          (GtkWidget    *widget,
                                                         gboolean      sensitive);
+gboolean              gtk_widget_get_sensitive          (GtkWidget    *widget);
+gboolean              gtk_widget_is_sensitive           (GtkWidget    *widget);
+
 void                  gtk_widget_set_app_paintable      (GtkWidget    *widget,
                                                         gboolean      app_paintable);
 void                  gtk_widget_set_double_buffered    (GtkWidget    *widget,